package com.gking.centerSystem.service.AccessIpList;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gking.centerSystem.common.Result;
import com.gking.centerSystem.entity.AccessIpList;
import org.springframework.stereotype.Service;

import java.util.List;

public interface AccessIpListService extends IService<AccessIpList> {

    /**
     * 添加受控 ip 项
     *
     * @param accessIpList 实体类
     * @return s
     */
    public Result<String> addAccessIpList(AccessIpList accessIpList);


    /**
     * 批量删除受控 ip 项
     *
     * @param ids id列表
     * @return s
     */
    public Result<String> deleteAccessIpList(List<String> ids);


    /**
     * 批量设置受控 ip 项状态
     *
     * @param ids    id 列表
     * @param enable 启用状态
     * @return s
     */
    public Result<String> setIpsEnableStatus(List<String> ids, Integer enable);


    /**
     * 更新某个受控 ip 项信息
     *
     * @param accessIpList 实体类
     * @return s
     */
    public Result<String> updateAccessIpListItem(AccessIpList accessIpList);


    /**
     * 条件分页获取受控 ip 列表
     *
     * @param pageNum      分页页码
     * @param pageSize     分页大小
     * @param accessIpList 查询条件
     * @return l
     */
    public Result<Page> getAccessIpList(Integer pageNum, Integer pageSize, AccessIpList accessIpList);


    /**
     * 获取某个类型的所有 ip
     *
     * @param type 类型
     * @return l
     */
    public Result<List<AccessIpList>> getAllIpByType(String type);

}
